#include "mythread.h"
#include <QDebug>

MyThread::MyThread(QObject* parent)
{

}

MyThread::~MyThread()
{
    qDebug() << "!1111111111111111111111111111111~MyThread";
}

void MyThread::run()
{
    qDebug()<<"myThread run() start to execute";
    qDebug()<<"     current thread ID:"<<QThread::currentThreadId()<<'\n';
    //循环一百万次
    int count = 0;
    for(int i = 0;i!=1000000;++i)
    {
     ++count;
    }
    //发送结束信号
    emit myThreadSignal(count);
    exec(); // 在run()函数中调用exec()就可以在子线程中实现了事件循环，这样子线程也拥有了自己的事件循环机制，QTimer就是在子线程中运行了。
}

void MyThread::myThreadSlot(const int val)
{
    qDebug()<<"myThreadSlot() start to execute";
    qDebug()<<"     current thread ID:"<<QThread::currentThreadId()<<'\n';
    //循环一百万次
    int count = 888;
    for(int i = 0;i!=1000000;++i)
    {
     ++count;
    }
}
